
function xx = Bcr4bp_var2xxEMRot2D(var , nodeType , aux)
%
% 轨道根数转位置速度
% 
% 作者：张晨
% 邮箱：chenzhang@csu.ac.cn
% 单位：中国科学院空间应用工程与技术中心，空间探索室
% 时间：2022年02月23日
%%%%%%%%%%%%%%%%%%%%%%%%

var = var(:);

mu = aux.EMRot.mu;

% 惯性系 -> 旋转系
if strcmp(nodeType , 'leo')

    % 读取var
    rMag = var(1);
    alpha = var(2);
    beta = var(3);

    % 计算惯性系状态
    X = rMag * cos(alpha);
    Y = rMag * sin(alpha);
    VX = - beta * sqrt((1 - mu) / rMag) * sin(alpha);
    VY = beta * sqrt((1 - mu) / rMag) * cos(alpha);

    xx = [X - mu;
        Y;
        VX + Y;
        VY - X];
    xx = xx(:)';

elseif strcmp(nodeType , 'llo')

    % 读取var
    rMag = var(1);
    alpha = var(2);
    beta = var(3);

    % 计算惯性系状态
    X = rMag * cos(alpha);
    Y = rMag * sin(alpha);
    VX = - beta * sqrt(mu / rMag) * sin(alpha);
    VY = beta * sqrt(mu / rMag) * cos(alpha);

    xx = [X - mu + 1;
        Y;
        VX + Y;
        VY - X];
    xx = xx(:)';

else

    fprintf('wrong!')
    xx = [];
    return;

end

end
